package tcp

import (
	"log"
	"net"
)

type Server struct{}

func NewServer() *Server {
	return &Server{}
}

func (s *Server) Listen(addr string, handler func(net.Conn)) {
	tcpServer, err := net.Listen("tcp", addr)
	if err != nil {
		log.Fatal(err)
	}
	defer tcpServer.Close()

	for {
		tcpServerConn, err := tcpServer.Accept()
		if err != nil {
			log.Fatal(err)
		}
		handler(tcpServerConn)
	}
}
